1. Technical Field
The invention is related to joysticks for operating games on personal computers and in particular to the game adapter card which provides the joystick interface in the personal computer.
2. Background Art
Many computer games require a so-called joystick for the user to interact with the game through a game adapter card that is installed inside the personal computer and provides the requisite interface between the joystick and the input/output (I/O) of the central processing unit (CPU) of the personal computer. Such a joystick typically includes a lever which can be moved in at least two dimensions (X and Y) and analog circuitry which provides an analog signal to the computer indicating the exact two-dimensional position of the lever. In some cases, there is a third dimension (Z, or out of plane) and even a fourth dimension (e.g., throttle position). In fact, the standard game format recognizes the four position analog signals and, in addition, four button inputs (on/off) which can be employed in robust game applications. In some cases, the X and Y position analog signals are produced by a steering wheel which functions in a manner similar to a joystick. For purposes of this application such a steering wheel is considered to be equivalent to the X and Y axis portions of a joystick.
Each of the four analog signals is produced by a respective potentiometer (inside the joystick housing) whose wiper is attached to the joystick lever and whose resistance element has a DC bias voltage (e.g., 5 volts) applied at one end.
In the industry standard game adapter card, the analog signal is converted to digital without requiring an analog-to-digital converter. This is accomplished by charging a capacitor through the portion of the joystick's resistance element selected by the wiper and observing the charging time required for the capacitor voltage to reach a predetermined voltage. The charging time is encoded as the width of a pulse transmitted to the CPU. The CPU counts the length of the pulse and deduces therefrom the level position. A constant charging voltage through the resistance element independent of wiper position is assured by letting one end of the resistance element float electrically.
The main disadvantage of encoding the joystick position as a pulse width is that the CPU cannot be interrupted any time that it is counting the length of the pulse-width encoded pulse from the game adapter card. The problem is that during this time the CPU is diverted from other necessary tasks such as rendering graphics for example, so that the entire game perceptibly slows down. The amount of time the CPU is thus diverted is a function of the joystick lever position: In a given dimension or axis, a minimum lever deflection produces a minimum pulse width and therefore monopolizes the CPU during counting for a minimum time, while the maximum lever deflection produces the longest pulse width and therefore monopolizes the CPU for the longest time. Any attempt to minimize this problem by reducing the pulse width range reduces the position resolution of the joystick. This problem is independent of the speed of the CPU and is the pacing factor in the speed of most games. In fact, the time to read the joystick position is the same whether the game is run on the earliest versions of a personal computer (e.g., those manufactured in 1986-1988) or the latest high speed personal computers (i.e., those being sold in 1996).
One object of the present invention is to provide a fast analog-to-digital converter on a game adapter card rather than the pulse width encoding of the industry standard game adapter card. In this case, the voltage received from the joystick wiper by the analog-to-digital converter would not vary linearly with wiper position, unless, in accordance with a further object of the invention, an external voltage divider resistor is connected in series with the internal resistance element of the joystick. However, a game adapter card having such a voltage divider resistor would not function as expected if another joystick were substituted having a resistance range significantly different from the original joystick. Thus, the game adapter card might have to be changed each time the user wished to change joysticks, which is not commercially practical. A yet further object of the invention is to solve the problem of having to modify the adapter card each time the joystick is changed.
A significant disadvantage of replacing the industry standard game adapter card's pulse width encoding circuitry with an analog-to-digital converter is that the resulting game adapter card would have very little use: The existing software game packages require the pulse width encoding format of a conventional game adapter card in order to run. Therefore, a game adapter card employing analog-to-digital conversion could not run software game packages until the industry could be persuaded to start producing software game packages compatible with an analog-to-digital conversion process on the game adapter card. Thus, it has not seemed feasible to improve the industry standard game adapter card. Another object of the invention is therefore to overcome the problem of lack of compatibility between the pulse width encoding legacy game packages and the digital high speed mode which is the primary object of the present invention.